using System;
using System.Runtime.InteropServices;
using WindowsAPI.Hooks;

namespace WindowsAPI
{
    public static partial class User32
    {
        public static class Hook
        {
            [DllImport(FileName, CharSet = CharSet.Auto, SetLastError = true)]
            public static extern IntPtr SetWindowsHookEx(HookType Hook, HookProc CallBack, IntPtr Mod, int ThreadId = 0);

            [DllImport(FileName, CharSet = CharSet.Auto, SetLastError = true)]
            public static extern IntPtr CallNextHookEx(IntPtr hWnd, int Code, IntPtr wParam, IntPtr lParam);

            [DllImport(FileName, SetLastError = true)]
            public static extern bool UnhookWindowsHookEx(IntPtr hWnd);
        }
    }
}